import edu.seminario.Caracteristicas;
import edu.seminario.MediosPago;
import edu.seminario.MediosPagoRestos;
import edu.seminario.RangoPrecio;
import edu.seminario.RestoCaracteristica;
import edu.seminario.Restos;
import edu.seminario.SolicitudCuponera;
import edu.seminario.SolicitudTarjeta;
import edu.seminario.TipoCocina;
import edu.seminario.UsuarioAdmin;
import edu.seminario.UsuarioOleo;
import edu.seminario.Voto;
import edu.seminario.Zona;

class BootStrap {

	def init = { servletContext ->
		if (UsuarioAdmin.list().isEmpty()) {

			def rangoPrecio1 = new RangoPrecio(maximo: 65, minimo: 0).save()
			def rangoPrecio2 = new RangoPrecio(maximo: 100, minimo: 65).save()
			def rangoPrecio3 = new RangoPrecio(maximo: 150, minimo: 100).save()
			def rangoPrecio4 = new RangoPrecio(maximo: 300, minimo: 150).save()
			
			def zona1 = new Zona(nombre:"Palermo").save()
			def zona2 = new Zona(nombre:"Barrio norte").save()
			def zona3 = new Zona(nombre:"Recoleta").save()
			def zona4 = new Zona(nombre:"Villa cresco").save()
			def zona5 = new Zona(nombre:"microcentro").save()
			def zona6 = new Zona(nombre:"San telmo").save()
			
			def caracteristicas1 = new Caracteristicas(nombre:"WI-FI").save()
			def caracteristicas2 = new Caracteristicas(nombre:"Baño dispacitados").save()
			def caracteristicas3 = new Caracteristicas(nombre:"Estacionamiento").save()
			def caracteristicas4 = new Caracteristicas(nombre:"Sector fumador").save()
			def caracteristicas5 = new Caracteristicas(nombre:"Juegos para chicos").save()
			
			def cocina1 = new TipoCocina(nombre:"Internacional").save()
			def cocina2 = new TipoCocina(nombre:"Oriental").save()
			def cocina3 = new TipoCocina(nombre:"Italiana").save()
			def cocina4 = new TipoCocina(nombre:"Arabe").save()
			def cocina5 = new TipoCocina(nombre:"Nordica").save()
			def cocina6 = new TipoCocina(nombre:"Caribe").save()

			def solicitudCuponera1 = new SolicitudCuponera(nombre: "cuponera1", fecha: new Date()).save()
			def solicitudCuponera2 = new SolicitudCuponera(nombre: "cuponera2", fecha: new Date()).save()
			def solicitudCuponera3 = new SolicitudCuponera(nombre: "cuponera3", fecha: new Date()).save()

			def solicitudTajeta1 = new SolicitudTarjeta(nombre: "tajeta1", fecha: new Date()).save()
			def solicitudTajeta2 = new SolicitudTarjeta(nombre: "tajeta2", fecha: new Date()).save()
			def solicitudTajeta3 = new SolicitudTarjeta(nombre: "tajeta3", fecha: new Date()).save()

			new UsuarioAdmin(username: "admin", password: "pepito").save()

			def usuario1 = new UsuarioOleo(nombre: "maxi", sexo: "M", edad:21,
					solicitudCuponera: solicitudCuponera1,
					solicitudTarjeta: solicitudTajeta1).save()
			def usuario2 = new UsuarioOleo(nombre: "diego", sexo: "M", edad:15,
					solicitudTarjeta: solicitudTajeta2).save()
			def usuario3 = new UsuarioOleo(nombre: "pepe", sexo: "M", edad:45,
					solicitudTarjeta: solicitudTajeta3).save()
			def usuario4 = new UsuarioOleo(nombre: "juan", sexo: "M", edad:66,
					solicitudCuponera: solicitudCuponera2).save()
			def usuario5 = new UsuarioOleo(nombre: "maria", sexo: "F", edad:69,
					solicitudCuponera: solicitudCuponera3).save()
			def usuario6 = new UsuarioOleo(nombre: "julia", sexo: "F", edad:80).save()
			def usuario7 = new UsuarioOleo(nombre: "andrea", sexo: "F", edad:21).save()
			def usuario8 = new UsuarioOleo(nombre: "paola", sexo: "F", edad:30).save()
			def usuario9 = new UsuarioOleo(nombre: "analia", sexo: "F", edad:32).save()
			def usuario10 = new UsuarioOleo(nombre: "berta", sexo: "F", edad:5).save()

			def resto1 = new Restos(
					nombre: 'La casita',
					direccion: '',
					zona: zona2,
					cp: '1182',
					localidad: '',
					cocina: cocina1,
					descuento: 1,
					precioM: 65,
					precioN: 100,
					visitas: 1,
					rangoPrecio: rangoPrecio2
					).save()
			def resto2 = new Restos(
					nombre: 'Dorita',
					direccion: '',
					zona: zona2,
					cp: '1183',
					localidad: '',
					cocina: cocina2,
					descuento: 1,
					precioM: 50,
					precioN: 80,
					visitas: 100,
					rangoPrecio: rangoPrecio4
					).save()

			def resto3 = new Restos(
					nombre: 'La magdolina',
					direccion: '',
					zona: zona2,
					cp: '1181',
					localidad: '',
					cocina: cocina3,
					descuento: 1,
					precioM: 20,
					precioN: 45,
					visitas: 121,
					rangoPrecio: rangoPrecio1
					).save()
			def resto4 = new Restos(
					nombre: 'Lee',
					direccion: '',
					zona: zona5,
					cp: '1181',
					localidad: '',
					cocina: cocina4,
					descuento: 1,
					precioM: 100,
					precioN: 120,
					visitas: 5431,
					rangoPrecio: rangoPrecio2
					).save()
			def resto5 = new Restos(
					nombre: 'Neruda',
					direccion: '',
					zona: zona1,
					cp: '1172',
					localidad: '',
					cocina: cocina5,
					descuento: 1,
					precioM: 30,
					precioN: 60,
					visitas: 2341,
					rangoPrecio: rangoPrecio4
					).save()
			def resto6 = new Restos(
					nombre: 'Libreria',
					direccion: '',
					zona: zona1,
					cp: '1121',
					localidad: '',
					cocina: cocina6,
					descuento: 1,
					precioM: 30,
					precioN: 60,
					visitas: 10,
					rangoPrecio: rangoPrecio2
					).save()
			def resto7 = new Restos(
					nombre: 'La mosca en la sopa',
					direccion: '',
					zona: zona3,
					cp: '1231',
					localidad: '',
					cocina: cocina2,
					descuento: 1,
					precioM: 25,
					precioN: 50,
					visitas: 756,
					rangoPrecio: rangoPrecio1
					).save()
			def resto8 = new Restos(
					nombre: 'Lopez Vega',
					direccion: 'paseo colon 187',
					zona: zona3,
					cp: '1181',
					localidad: '',
					cocina: cocina1,
					descuento: 1,
					precioM: 25,
					precioN: 50,
					visitas: 72,
					rangoPrecio: rangoPrecio2
					).save()
			def resto9 = new Restos(
					nombre: 'Kansas',
					direccion: 'Alem 232',
					zona: zona4,
					cp: '1121',
					localidad: '',
					cocina: cocina4,
					descuento: 1,
					precioM: 110,
					precioN: 150,
					visitas: 34,
					rangoPrecio: rangoPrecio4
					).save()
			def resto10 = new Restos(
					nombre: 'Lo de Enrique',
					direccion: 'calle falsa 3532',
					zona: zona5,
					cp: '1122',
					localidad: '',
					cocina: cocina2,
					descuento: 1,
					precioM: 25,
					precioN: 50,
					visitas: 543,
					rangoPrecio: rangoPrecio3
					).save()
			def resto11 = new Restos(
					nombre: 'Lo de Pepe',
					direccion: 'las casas 123',
					zona: zona1,
					cp: '1181',
					localidad: '',
					cocina: cocina1,
					descuento: 1,
					precioM: 25,
					precioN: 50,
					visitas: 123,
					rangoPrecio: rangoPrecio4
					).save()
			def resto12 = new Restos(
					nombre: 'Las cholitas',
					direccion: 'juana manso 909',
					zona: zona2,
					cp: '1181',
					localidad: '',
					cocina: cocina2,
					descuento: 1,
					precioM: 55,
					precioN: 100,
					visitas: 548,
					rangoPrecio: rangoPrecio3
					).save()

			new Voto(
					carta: 3,
					comida: 5,
					servicio: 3,
					ambiente: 4,
					comentario: 'te chupas los dedos',
					calificacion:3,
					comimos: 'chuletas de cerdo',
					ip: 172,
					fechaAlta: '20/3/2010',
					bounces: 3,
					estado: 2,
					fechaVisita: '20/3/2010',
					usuarioOleo: usuario1,
					restos: resto1
					).save()

			new Voto(
					carta: 2,
					comida: 4,
					servicio: 1,
					ambiente: 3,
					comentario: 'maso menos',
					calificacion:3,
					comimos: 'milanesa con papas fritas',
					ip: 175,
					fechaAlta: new Date('20/4/2011'),
					bounces: 3,
					estado: 2,
					fechaVisita: new Date('20/3/2011'),
					usuarioOleo: usuario2,
					restos: resto1
					).save()

			new Voto(
					carta: 1,
					comida: 1,
					servicio: 1,
					ambiente: 1,
					comentario: 'muy malo',
					calificacion:1,
					comimos: 'choripan',
					ip: 171,
					fechaAlta: new Date('20/4/2011'),
					bounces: 3,
					estado: 2,
					fechaVisita: new Date('20/3/2011'),
					usuarioOleo: usuario3,
					restos: resto1
					).save()

			new Voto(
					carta: 4,
					comida: 4,
					servicio: 4,
					ambiente: 4,
					comentario: 'se puede comer',
					calificacion:3,
					comimos: 'entra�a a la parrilla',
					ip: 69,
					fechaAlta: '12/2/2004',
					bounces: 3,
					estado: 2,
					fechaVisita: '20/3/2005',
					usuarioOleo: usuario1,
					restos: resto2
					).save()

			new Voto(
					carta: 2,
					comida: 4,
					servicio: 4,
					ambiente: 3,
					comentario: '',
					calificacion:4,
					comimos: 'pizza',
					ip: 69,
					fechaAlta: '12/2/2008',
					bounces: 3,
					estado: 2,
					fechaVisita: '20/12/2009',
					usuarioOleo: usuario4,
					restos: resto3
					).save()

			new Voto(
					carta: 7,
					comida: 4,
					servicio: 7,
					ambiente: 7,
					comentario: 'Me gusto',
					calificacion:7,
					comimos: 'Ravioles',
					ip: 69,
					fechaAlta: '21/8/2003',
					bounces: 4,
					estado: 1,
					fechaVisita: '20/12/2003',
					usuarioOleo: usuario5,
					restos: resto3
					).save()

			new Voto(
					carta: 8,
					comida: 4,
					servicio: 8,
					ambiente: 8,
					comentario: 'Me gusto',
					calificacion:8,
					comimos: 'Matambre con empanadas de jamon y queso',
					ip: 70,
					fechaAlta: '21/5/2011',
					bounces: 4,
					estado: 1,
					fechaVisita: '20/12/2011',
					usuarioOleo: usuario2,
					restos: resto11
					).save()

			new Voto(
					carta: 10,
					comida: 4,
					servicio: 8,
					ambiente: 10,
					comentario: 'Todo bien pero la comida era fea',
					calificacion:8,
					comimos: 'Pescado al horno con papas fritas',
					ip: 70,
					fechaAlta: '21/7/2004',
					bounces: 4,
					estado: 1,
					fechaVisita: '20/12/2009',
					usuarioOleo: usuario4,
					restos: resto8
					).save()

			new Voto(
					carta: 10,
					comida: 10,
					servicio: 10,
					ambiente: 10,
					comentario: 'Excelente',
					calificacion:8,
					comimos: '�oquis',
					ip: 78,
					fechaAlta: '04/9/2004',
					bounces: 2,
					estado: 2,
					fechaVisita: '04/12/2005',
					usuarioOleo: usuario3,
					restos: resto4
					).save()

			new Voto(
					carta: 3,
					comida: 3,
					servicio: 3,
					ambiente: 3,
					comentario: '',
					calificacion:8,
					comimos: '',
					ip: 72,
					fechaAlta: '04/9/2004',
					bounces: 2,
					estado: 2,
					fechaVisita: '04/12/2005',
					usuarioOleo: usuario1,
					restos: resto11
					).save()

			new Voto(
					carta: 2,
					comida: 9,
					servicio: 2,
					ambiente: 10,
					comentario: 'Mucha espera pero vali� la pena',
					calificacion:8,
					comimos: 'Lentejas',
					ip: 73,
					fechaAlta: '04/12/2007',
					bounces: 1,
					estado: 1,
					fechaVisita: '04/10/2009',
					usuarioOleo: usuario2,
					restos: resto11
					).save()


			new Voto(
					carta: 9,
					comida: 9,
					servicio: 9,
					ambiente: 10,
					comentario: 'Muy Buen ambiente',
					calificacion:9,
					comimos: 'Mollejas al verdeo',
					ip: 77,
					fechaAlta: '03/03/2003',
					bounces: 1,
					estado: 1,
					fechaVisita: '04/10/2009',
					usuarioOleo: usuario5,
					restos: resto1
					).save()

			new Voto(
					carta: 4,
					comida: 3,
					servicio: 6,
					ambiente: 7,
					comentario: 'Flojito',
					calificacion:9,
					comimos: 'Fideos con tuco',
					ip: 71,
					fechaAlta: '05/10/2006',
					bounces: 1,
					estado: 1,
					fechaVisita: '04/10/2006',
					usuarioOleo: usuario3,
					restos: resto11
					).save()

			new Voto(
					carta: 4,
					comida: 7,
					servicio: 7,
					ambiente: 7,
					comentario: '',
					calificacion:9,
					comimos: 'Asado',
					ip: 71,
					fechaAlta: '05/05/2002',
					bounces: 1,
					estado: 1,
					fechaVisita: '04/08/2006',
					usuarioOleo: usuario3,
					restos: resto3
					).save()

			new Voto(
					carta: 2,
					comida: 2,
					servicio: 7,
					ambiente: 3,
					comentario: 'Se como realmente mal',
					calificacion:2,
					comimos: 'Carne que parecia de rata',
					ip: 21,
					fechaAlta: '06/06/2006',
					bounces: 1,
					estado: 1,
					fechaVisita: '04/08/2006',
					usuarioOleo: usuario4,
					restos: resto4
					).save()

			new Voto(
					carta: 7,
					comida: 7,
					servicio: 6,
					ambiente: 8,
					comentario: 'Estuvo regular pero con buenos precios',
					calificacion:6,
					comimos: 'Milanesa a la napolitana',
					ip: 22,
					fechaAlta: '07/06/2004',
					bounces: 1,
					estado: 1,
					fechaVisita: '04/02/2006',
					usuarioOleo: usuario3,
					restos: resto5
					).save()

			new Voto(
					carta: 7,
					comida: 4,
					servicio: 6,
					ambiente: 8,
					comentario: 'Un desastre',
					calificacion:3,
					comimos: 'tortilla de papa',
					ip: 22,
					fechaAlta: '07/06/2002',
					bounces: 1,
					estado: 1,
					fechaVisita: '04/02/2010',
					usuarioOleo: usuario2,
					restos: resto5
					).save()

			new Voto(
					carta: 10,
					comida: 10,
					servicio: 9,
					ambiente: 9,
					comentario: 'Muy buen boliche',
					calificacion:3,
					comimos: 'Canelones de espinaca',
					ip: 28,
					fechaAlta: '10/10/2002',
					bounces: 1,
					estado: 1,
					fechaVisita: '04/05/2004',
					usuarioOleo: usuario4,
					restos: resto3
					).save()

			new Voto(
					carta: 10,
					comida: 8,
					servicio: 10,
					ambiente: 9,
					comentario: 'Comi barbaro',
					calificacion:3,
					comimos: 'Pastel de papa',
					ip: 29,
					fechaAlta: '11/10/2002',
					bounces: 1,
					estado: 1,
					fechaVisita: '01/05/2004',
					usuarioOleo: usuario6,
					restos: resto1
					).save()

			new Voto(
					carta: 2,
					comida: 2,
					servicio: 2,
					ambiente: 2,
					comentario: '',
					calificacion:3,
					comimos: 'Huevo Frito',
					ip: 211,
					fechaAlta: '11/11/2001',
					bounces: 1,
					estado: 1,
					fechaVisita: '01/12/2001',
					usuarioOleo: usuario5,
					restos: resto11
					).save()

			new RestoCaracteristica(restos: resto1, caracteristicas: caracteristicas1).save()
			new RestoCaracteristica(restos: resto1, caracteristicas: caracteristicas2).save()
			new RestoCaracteristica(restos: resto2, caracteristicas: caracteristicas3).save()
			
			def mediosPago1 = new MediosPago(nombre: "Tarjeta de credito").save()
			def mediosPago2 =new MediosPago(nombre: "Tarjeta de debido").save()
			def mediosPago3 =new MediosPago(nombre: "Efectivo").save()
			
			new MediosPagoRestos(mediosPago: mediosPago1, restos: resto1).save()
			new MediosPagoRestos(mediosPago: mediosPago2, restos: resto1).save()
			new MediosPagoRestos(mediosPago: mediosPago3, restos: resto2).save()
		}
	}

	def destroy = {
	}
}
